This file specifies all output nodes, the timing for their sampling, and, optionally, the percentage of nodes to be seeded. There are basically three commands that can be used in this file; their syntax is as follows:
seedpercentage
![]()
trigger
on-node
![]()
transition-value
![]()
delay
![]()
output-list
![]()
***
sample
period
![]()
offset
![]()
output-list
![]()
***
The seed command, if present, must be the first non-empty line in the
file. It's
percentage
argument must be an integer number (in the
range
1–100
), which specifies the percentage of the circuit's nodes
that should be considered for fault seeding. If this command is missing,
Ifsim will seed up to 20% of the circuit's nodes.
Outputs can be sampled using either a fixed time interval, or the rising/falling edge of some other signal in the circuit. The first type of sampling is specified using the sample command, the second is specified through the trigger command.
The trigger command indicates that all nodes specified in
output-list
should be sampled when
on-node
makes a transition to
transition-value
. Note that
output-list
can span multiple
lines, each of which can contain a list of nodes separated by blanks. The
list of outputs is terminated by a line containing the single entry ***. Also, just like in Irsim, any node name can include the wildcard
character `*', it can denote iteration by using the pair of characters `{'
and '}', or it can be the name of a user-defined vector. The optional
argument
delay
specifies that the signals should be sampled
delay
ns after the specified transition. For example, the following
file indicates that primary outputs ADR0, ADR1, ADR2, ADR3, RD, and WR
should be sampled on the falling edge of signal phi1, while outputs DATA0,
DATA1, DATA2, DATA3, and DATA4 should be sampled 10ns after the rising edge
of signal phi2:
trigger phi1 0
ADR{0:3}
RD WR
***
trigger phi2 1 10
DATA0 DATA1 DATA2
DATA3
DATA4
***
The format of the sample command is similar to the trigger
command, however, instead of using another signal to trigger the sampling of
the outputs, they are sampled every
period
ns. The optional
offset
argument indicates that the sampling should begin
offset
ns from the start of the simulation. For example, the following entry
indicates that outputs clock1 and clock2 should be sampled every 50ns
starting from time 100ns (150, 200, etc):
sample 50.0 100.0
clock1 clock2
***